projects
/
babl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
370d22c
)
extensions-gggl: clamp when converting float to 16bit
author
Øyvind Kolås
<pippin@gimp.org>
Wed, 20 Dec 2017 02:22:22 +0000
(
03:22
+0100)
committer
Øyvind Kolås
<pippin@gimp.org>
Wed, 20 Dec 2017 02:25:34 +0000
(
03:25
+0100)
Improve the quality of a conversion that was picked in error for bug #790658
extensions/gggl.c
patch
|
blob
|
history
diff --git
a/extensions/gggl.c
b/extensions/gggl.c
index cf83988092a3b669645df4b570b83140d0c03940..625d7302410d5092d0125d9234d0a4d5a57edd25 100644
(file)
--- a/
extensions/gggl.c
+++ b/
extensions/gggl.c
@@
-543,7
+543,12
@@
conv_rgbaF_rgb16 (const Babl *conversion,unsigned char *src, unsigned char *dst,
for (c = 0; c < 3; c++)
{
- *(unsigned short *) dst = lrint ((*(float *) src) * 65535.0);
+ if ((*(float *) src) >= 1.0)
+ *(unsigned short *) dst = 65535;
+ else if ((*(float *) src) <=0)
+ *(unsigned short *) dst = 0;
+ else
+ *(unsigned short *) dst = lrint ((*(float *) src) * 65535.0);
dst += 2;
src += 4;
}